package com.lucy.disk.utils;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Validator;
import com.lucy.disk.constant.FileConst;
import com.lucy.disk.constant.FileTypeEnum;

/**
 * @author kindear
 * 网盘工具类
 */
public class DiskUtil {
    /**
     * 计算文件类型
     * @param fileName
     * @return
     */
    public static FileTypeEnum calcFileType(String fileName){
        String extName = FileUtil.extName(fileName);
        if (FileConst.APP_FILE.contains(extName)){
            return FileTypeEnum.OTHER;
        }
        else if (FileConst.DOC_FILE.contains(extName)){
            return FileTypeEnum.DOCUMENT;
        }
        else if (FileConst.IMG_FILE.contains(extName)){
            return FileTypeEnum.PICTURE;
        }
        else if (FileConst.VIDEO_FILE.contains(extName)){
            return FileTypeEnum.VIDEO;
        }else {
            return FileTypeEnum.OTHER;
        }
    }

    /**
     * 是否允许创建判断 -- 目前仅允许创建文档
     * @param fileName
     * @return
     */
    public static boolean createAccess(String fileName){
        String extName = FileUtil.extName(fileName);
        // 后缀名为空默认创建目录
        if (Validator.isEmpty(extName)){
            return true;
        }
        if (FileConst.DOC_FILE.contains(extName)){
            return true;
        }
        return false;
    }
}
